#include <stdio.h>
#include <sys/types.h>

#include <unistd.h>
#include <stdlib.h>

int main(){
   //1. fork() 创建子进程，基于cow机制（copy-on-write）复制父进程的内存资源，
   //  同时创建自己的PCB(进程控制块)
   // 当前进程是父进程，创建的新进程称之为子进程，它们之间是父子关系。
   int num = 10;
   pid_t pid = fork(); 
   // 2. 以下的程序是父子进程都会执行的
   printf("process id is %d, num is %d\n",  getpid(), num);
   _exit(EXIT_SUCCESS); // 正常退出, 系统将回收资源，下一行语句无法再执行 
   printf("--- process id(%d) over ---\n", getpid());

   return 0;
}
